#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>

#include "ql_wifi.h"


int main(int argc, char **argv)
{
	int case_num = 0;
	ql_wifi_sta_ip_cfg_s ip_cfg;
	char ip_addr[32] = {0};
	int ret = 0;
	while(1) {
		printf("\n\n");
		printf("1. set wifi sta static ip cfg.\n");
		printf("2. get wifi sta static ip cfg.\n");
		printf("-1. exit.\n");
		printf("pls input the case:");
		memset(&ip_cfg, 0, sizeof(ip_cfg));
		scanf("%d", &case_num);

		switch (case_num)
		{
		case 1:
			printf("pls input the stats:");
			scanf("%d", &ip_cfg.enable_state);
			printf("\n");
			if (ip_cfg.enable_state) {
				snprintf(ip_addr, sizeof(ip_addr), "192.168.1.100");
				printf("ip addr:%s\n", ip_addr);
				ip_cfg.ip_addr = inet_addr(ip_addr);

				snprintf(ip_addr, sizeof(ip_addr), "192.168.1.1");
				printf("gateway:%s\n", ip_addr);
				ip_cfg.gateway = inet_addr(ip_addr);

				snprintf(ip_addr, sizeof(ip_addr), "255.255.255.0");
				printf("netmask:%s\n", ip_addr);
				ip_cfg.netmask = inet_addr(ip_addr);

				snprintf(ip_addr, sizeof(ip_addr), "114.114.114.114");
				printf("netmask:%s\n", ip_addr);
				ip_cfg.pri_dns = inet_addr(ip_addr);

				snprintf(ip_addr, sizeof(ip_addr), "8.8.8.8");
				printf("netmask:%s\n", ip_addr);
				ip_cfg.sec_dns = inet_addr(ip_addr);

				printf("ip_addr:%04x\n", ip_cfg.ip_addr);
				printf("gateway:%04x\n", ip_cfg.gateway);
				printf("netmask:%04x\n", ip_cfg.netmask);
				printf("pri_dns:%04x\n", ip_cfg.pri_dns);
				printf("sec_dns:%04x\n", ip_cfg.sec_dns);
			}
			ret = ql_wifi_sta_ip_cfg_set(&ip_cfg);
			if (ret) {
				printf("set ip cfg failed.\n");
			}
			break;
		case 2:
			ret = ql_wifi_sta_ip_cfg_get(&ip_cfg);
			if (ret) {
				printf("set ip cfg failed.\n");
			}
			printf("enable_state:%d\n", ip_cfg.enable_state);
			if (ip_cfg.enable_state)
				printf("ip_addr:%d\n", ip_cfg.ip_addr);
				printf("gateway:%d\n", ip_cfg.gateway);
				printf("netmask:%d\n", ip_cfg.netmask);
				printf("pri_dns:%d\n", ip_cfg.pri_dns);
				printf("sec_dns:%d\n", ip_cfg.sec_dns);
			break;
        case -1:
            printf("exit.\n");
            return 0;
            break;

		default:
			break;
		}
	}
	return 0;
}

